﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MvvmBaseObject
{
    public class MainViewModel:BindableBase
    {
		// 基础的通知属性
		private string _value;

		public string Value
		{
			get { return _value; }
			set { 
				// 第一种方式
				SetProperty<string>(ref _value, value);
				// 第二种方式
				//_value = value;
				//this.RaisePropertyChanged(nameof(Value));
				// 第三种方式
				//_value = value;
				//this.OnPropertyChanged(new System.ComponentModel.PropertyChangedEventArgs(nameof(Value)));
            }
        }

		// 命令属性定义
		public DelegateCommand<object> ButtonCommand { get; set; }

        public MainViewModel()
        {
            ButtonCommand = new DelegateCommand<object>(arg =>
            {

            });
        }
    }
}
